package com.dengdai.applibrary.interfaces;

import com.dengdai.applibrary.https.HttpResponse;

import java.net.HttpURLConnection;
import java.util.Map;

/**
 * @说明 网页请求方法
 * @作者 LY
 * @时间 16/5/9 16:22
 * @邮箱 2743569843@qq.com
 * @版权 Copyright(c) 2016 LY-版权所有
 * @备注
 */
public interface HttpInterface {
    /**
     * 发送POST请求
     *
     * @param url            请求地址
     * @param params         请求参数
     * @param headParameters 头部参数
     * @return 服务器返回数据
     */
    String sendPost(String url, Map<String, Object> params, Map<String, Object> headParameters) throws Exception;

    /**
     * 发送GET请求
     *
     * @param url            请求地址
     * @param params         请求参数
     * @param headParameters 头部参数
     * @return 服务器返回数据
     */
    String sendGet(String url, Map<String, Object> params, Map<String, Object> headParameters) throws Exception;

    /**
     * 发送JSON请求
     *
     * @param url            请求地址
     * @param params         请求参数
     * @param headParameters 头部参数
     * @return 服务器返回数据
     */
    String sendJson(String url, Map<String, Object> params, Map<String, Object> headParameters)throws Exception;

    /**
     * 发送DELETE请求
     *
     * @param url            请求地址
     * @param params         请求参数
     * @param headParameters 头部参数
     * @return 服务器返回数据
     */
    String sendDelete(String url, Map<String, Object> params, Map<String, Object> headParameters)throws Exception;

    /**
     * 发送PUT请求
     *
     * @param url            请求地址
     * @param params         请求参数
     * @param headParameters 头部参数
     * @return 服务器返回数据
     */
    String sendPut(String url, Map<String, Object> params, Map<String, Object> headParameters)throws Exception;

    /**
     * 发送请求
     *
     * @param url            请求地址
     * @param method         请求方法
     * @param params         请求参数
     * @param headParameters 头部参数
     * @return 返回数据
     */
    String send(String url, String method, Map<String, Object> params, Map<String, Object> headParameters)throws Exception;

    /**
     * 得到响应对象
     *
     * @param urlString     地址
     * @param urlConnection 参数
     * @return 返回数据
     */
    HttpResponse makeContent(String urlString, HttpURLConnection urlConnection);
}
